package com.example.cuibo.androidstudybasicknowadge;

/**
 * Created by cuibo on 2017/10/27.
 */

public class 代码块 {
    String name;
    int age;

    public 代码块(){}
    public 代码块(String name, int age){
        this.name = name;
        this.age = age;
    }
    {
        System.out.print("狗仔代码块");
    }
    public void cry(){

    }

    static {  //随着类的加载而加载只执行一次
              //静态代码块优先于主函数
              //静态代码块的作用：加载驱动（只需要一次）


    }
    代码块 t = new 代码块("张三",12);

}
abstract class Animal{ // 抽象类
    String name;
    public void run(){

    }
    public Animal(String name){}

    public abstract void eat(); // 抽选方法
    // 抽象类是不能被实例化的
}
// 继承
class Dog extends Animal{

    @Override
    public void eat() { // 调用父类用super 也可用self 区别：this 可以访问自己的也可以访问父类的，条件：自己没有
                        // super.直接调用父类的

        super.name =  "1";
    }

    public Dog(String name){
        super(name);
    }
    Animal an = new Dog("");
    Dog dog = (Dog)an;

    榨汁机 z = new 榨汁机();
//        z.run(new 水果());

}
class 水果{
    public void 榨汁(){

    }
}
class 苹果 extends 水果{

    public void 榨汁() {

    }
}
class 榨汁机{
    public void run(水果 a){
        a.榨汁();
    }
}